unit Cfg;

interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, 
   Graphics, Controls,Forms, Dialogs, StdCtrls, 
   Buttons, Spin;

type
  TCfgFrm = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
   
    spnSpheres: TSpinEdit;
    spnSize: TSpinEdit;
    spnSpeed: TSpinEdit;
   
    btnOK1: TButton;
    btnCancel1: TButton;
    btnTest1: TButton;
    
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);

    procedure btnOKClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure btnTestClick(Sender: TObject);

  private
    { Private declarations }

    procedure LoadConfig;
    procedure SaveConfig;

  public
    { Public declarations }
  end;

var
  CfgFrm: TCfgFrm;

implementation

{$R *.DFM}

uses
  Scrn,
  IniFiles;

const
  CfgFile = 'SPHERES.INI';

procedure TCfgFrm.LoadConfig;
var
   inifile : TIniFile;
begin
  inifile := TIniFile.Create(CfgFile);
  try
    with inifile do begin
      spnSpheres.Value := ReadInteger('Config',
                                                                     'Spheres', 50);
      spnSize.Value    := ReadInteger('Config', 'Size', 100);
      spnSpeed.Value   := ReadInteger('Config', 'Speed', 10);
    end;
  finally
    inifile.Free;
  end;
end; {TCfgFrm.LoadConfig}

procedure TCfgFrm.SaveConfig;
var
   inifile : TIniFile;
begin
  inifile := TIniFile.Create(CfgFile);
  try
    with inifile do begin
      WriteInteger('Config', 'Spheres', spnSpheres.Value);
      WriteInteger('Config', 'Size', spnSize.Value);
      WriteInteger('Config', 'Speed', spnSpeed.Value);
    end;
  finally
    inifile.Free;
  end;
end; {TCfgFrm.SaveConfig}

procedure TCfgFrm.FormCreate(Sender: TObject);
begin
  LoadConfig;
end; {TCfgFrm.FormCreate}

procedure TCfgFrm.btnOKClick(Sender: TObject);
begin
  SaveConfig;
  Close;
end; {TCfgFrm.btnOKClick}

procedure TCfgFrm.btnCancelClick(Sender: TObject);
begin
  Close;
end; {TCfgFrm.btnCancelClick}

procedure TCfgFrm.btnTestClick(Sender: TObject);
begin
  ScrnFrm.Show;
end; {TCfgFrm.btnTestClick}

procedure TCfgFrm.FormShow(Sender: TObject);
begin
  ShowWindow(Application.handle,SW_HIDE);
end;

end.
